//
//  PIGraphic.h
//  iPaint
//
//  Created by Jedd Haberstro on 2/11/07.
//  Copyright 2007 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>


@interface PIGraphic : NSObject {
	// NSRect _bounds; // The bounds of the graphic
	NSPoint _location; // Location in window, may not be used!
	float _strokeWidth; // Stroke width [if can stroke]
	NSColor *_fillColor; // Fill Color [if can Fill]
	NSColor *_strokeColor; // Stroke Color [if can stroke]
	BOOL _canFill; // Bool that represents if the graphic can fill
	BOOL _canStroke; // // Bool that represents if the graphic can stroke
	NSBezierPath *_path; // The path that contains all primitives to be drawn
}

//////////////////////////////////////
// Get Basic Setting and Primitives //
//////////////////////////////////////
/*-(void)setBounds:(NSRect)rect;
-(NSRect)bounds;*/
-(NSBezierPath *)path;
-(void)setStrokeWidth:(float)width;
-(float)strokeWidth;
-(void)setStrokeColor:(NSColor *)color;
-(NSColor *)strokeColor;
-(void)setFillColor:(NSColor *)color;
-(NSColor *)fillColor;
-(void)setCanGraphicFill:(bool)decision; // Sets if the graphic can fill
-(bool)canFill;
-(void)setCanGraphicStroke:(bool)decision; // Sets if the the graphics stroke
-(bool)canStroke;

///////////////////////////////////
// Graphic Location Manipulation // 
// 		     **Todo**            //
//	    - Implement Knobs        //
///////////////////////////////////
/*-(void)translateByVector:(NSPoint)vector;
-(void)scaleBy:(float)amount;
-(void)rotateByAngle:(float)angle;
-(void)rotateByRadian:(float)radian;
-(void)flipYAxis; // Verticle
-(void)flipXAxis; // Horizontal*/


@end
